package com.tech.platform.cms.authz.common.annotation;

import java.lang.annotation.*;

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface CheckAuthz {

    /**
     * 需要的权限
     * @return
     */
    String permission();

    /**
     * 需要的角色,权限角色满足其一,验证通过
     * @return
     */
    String[] roles();

    /**
     * 是否只查询本用户相关的
     * @return
     */
    boolean userSelf() default false;

    /**
     * 需要从请求中获取参与权限验证的参数
     * @return
     */
    String[] params() default {};
}
